﻿namespace AiSk
{
    public interface ILLmService
    {
        /// <summary>
        /// 聊天
        /// </summary>
        /// <param name="question"></param>
        /// <returns></returns>
        Task Chat(string question, string system, string model = "ernie_speed");

        /// <summary>
        /// 向量切割
        /// </summary>
        /// <returns></returns>
        Task Embeddings();

        /// <summary>
        /// 作画
        /// </summary>
        /// <param name="question"></param>
        /// <returns></returns>
        Task StableDiffusion(string question);
    }
    public abstract class BaseLLmService : ILLmService
    {
        public virtual async Task Chat(string question, string system, string model = "ernie_speed")
        {
            throw new NotImplementedException();
        }

        public virtual async Task StableDiffusion(string question)
        {
            throw new NotImplementedException();
        }

        public virtual async Task Embeddings()
        {
            throw new NotImplementedException();
        }
    }
}
